﻿//给定一个大小为 n 的数组 nums ，返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n / 2 ⌋ 的元素。
//
//你可以假设数组是非空的，并且给定的数组总是存在多数元素。

#include <stdio.h>

int majorityElement(int* nums, int numsSize) {
    int result = 0;
    int count = 0;
    for (int i = 0; i < numsSize; i++)
    {
        // if(nums[i]==result)
        // {
        //      count++;
        // }
        // else if(count==0)
        // {
        //     result=nums[i];
        //     count++;
        // }
        // else if(nums[i]!=result)
        // {
        //     count--;
        // }
        if (count == 0)
        {
            result = nums[i];
            count++;
        }
        else
        {
            if (nums[i] == result)
            {
                count++;
            }
            else
            {
                count--;
            }
        }

    }
    return result;
}
//[1,3,1,1,4,1,1,5,1,1,6,2,2]
//[10,9,9,9,10]


int main()
{
    int nums[13] = { 1,3,1,1,4,1,1,5,1,1,6,2,2 };
    printf("%d\n", majorityElement(nums, 13));

	return 0;
}